Disabling SMT/Hyper

您所在的位置:网站首页 hyper threading bios Disabling SMT/Hyper

Disabling SMT/Hyper

#Disabling SMT/Hyper| 来源: 网络整理| 查看: 265

Contents

What Is SMT or Hyper-Threading

SMT (AMD) and Hyper-Threading (Intel) are technologies that allow more than one thread to run on each core allowing CPUs to be more efficient during their workloads. This is why most modern CPUs are described with a number of cores and threads (ex: my 5600X has 6 cores and 12 threads).

An unfortunate byproduct of these technologies is that in some cases a task is split between cores on different threads adding latency to whatever you are doing on your PC. This is a big drawback in competitive gaming where you want your inputs to translate as quickly as possible to in-game actions.

This is an overly simplified version of what these technologies do, but for the purpose of this article it is enough to understand a simple equation: SMT/Hyper-Threading ON = possibly better FPS and performance – while – SMT/Hyper-Threading OFF = better latency in games. In essence, I was curious how big would the difference in FPS be for gaming and how measurable would the difference in latency be if I would turn off SMT (since I have an AMD system) on my PC.

Methodology

The way I tested latency with SMT on and off was LatencyMon since this is a very popular tool exactly for this task. I ran the benchmark 3 times for both SMT on and off and restarted each time to make sure the system is fresh.

I have also made sure to have no background applications running to have the closest possible result to a perfect scenario.

For the game testing, I have decided to use Apex Legends since this game is known for being a multi-threaded hog, allowing me to see how the game will behave if suddenly the extra threads are gone and it can only run with 1 thread per 1 core.

The test itself was a repetition of tasks in the training range since it is a controlled environment. Since this was not a proper benchmark the results are not 100% accurate but considering the results I have recorded and that the actions were repeated with consistency I am about 95% sure of the repeatability of the final results.

All of this was carried out on my PC which is running a PBO2 + Curve Optimizer overclock on my 5600X and my RTX 2070 which is overclocked and also is de-shrouded. I am also running a custom Windows install called KernelOS (1809) so my system is already tweaked out pretty hard.

SMT On

The first thing I tested with SMT was LatencyMon where the results after 3 measurements were between 2.75us and 2.8us.

These results were consistent with all the other previous testing I have done on my system which did not surprise me at all.

In Apex I did the same set of actions 3 times as described in the methodology while measuring and recording the FPS using MSI Afterburner and RivaTuner. The settings in Apex were 1920×1080, 110 FOV, with every other setting on low for maximum FPS.

As you can see the results were all within the margin of error telling me that my set of actions repeated in the firing range can be considered a valid benchmark.

SMT Off

After going to the BIOS of my PC and disabling SMT I have started my second round of testing with restarts between each run of LatencyMon and all the other steps to ensure the validity of my results.

In LatencyMon with no background applications running the latency went down to 2.45us – 2.5us compared to the 2.75us and 2.8us.

Although I have measured a notable drop in my latency it was interesting that in Apex my FPS did not change at all and was all within the margin of error.

The conclusion here is pretty simple then – I have achieved lower latency without impacting my performance in my game of choice which is a net positive overall.

Limitations

The limitations of my little study here are obvious – I have used only LatencyMon to measure the latency changes and have only used a single game (3 runs each to get a stable average). Moreover, since my system is running an AMD CPU I was not able to test the same process on an Intel system.

At the same time, my findings are consistent with most other PC tweakers that have experimented with this subject on different platforms.

@Calypto

The common conclusion is that for gaming, turning off SMT/Hyper-Threading might lead to a small loss in FPS (depending on the game engine and optimizations) while for workload tasks this will lead to a substantial loss in performance.

Since I am mainly interested in gaming I would say that turning off SMT/Hyper-Threading and lowering your latency is worth losing some FPS, especially if after running some tests you lose none like in the case of Apex.

Conclusions

While turning off SMT/Hyper-Threading might hinder your performance in work-oriented tasks if you are a competitive gamer like myself and you want the best possible latency, turning off SMT/Hyper-Threading is a step in the right direction.

The decrease in latency is clear while the drop in FPS and performance will depend on individual games and optimizations. At the same time as other reputable sources have noted “in gaming, overall there was no difference between SMT On and SMT Off, however, some games may show differences in CPU limited scenarios” (source) which then leads to my conclusion.

As a competitive gamer, you should turn off core virtualization for the benefit of lower latency. The only time this advice should not apply is when you can measure a huge difference in FPS in your game of choice which then renders it unplayable.



【本文地址】


今日新闻


推荐新闻


    CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3